This invention is directed to control of a distributed pipe queuing system for control commands. More particularly, this invention is directed to advanced control structures in such a queueing system, and the processing of control structures commands with bus master state machines to enhance the communication of control commands between entities in the computing system.
In peer-to-peer computer/subsystem control systems, such as the IBM Subsystem Control Block architecture, entities in subsystem units, or the central processing unit, cooperate to process tasks without supervisory control by the central processor. A description of the PS/2 implementation of the Subsystem Control Block architecture is published in "SCB Architecture Supplement to the IBM Personal System/2 Hardware Interface Technical Reference Architectures," IBM Publication No. 85F-1678, which is hereby incorporated by reference.
To accomplish peer-to-peer communication control of control commands or elements, an entity communicates control elements in a pipeline duplex manner to another entity in the computing system. The pipelines, or pipes, are first-in first-out queues in shared memory. There is an outgoing pipe and incoming pipe between any two units in the computing system. A unit may be the central processing unit or a subsystem, and a unit may have one or more entities. When two entities work together to perform a task, one operates as the client and the other the server.
Control elements are defined in detail in the above-identified Technical Reference Manual 85F-1678. Control elements are used to exchange control information and data between entities functioning as client and server. Control elements convey requests, replies, events and errors between entities. A request control element sent by a client to a server requests the server to perform a task on behalf of the client. A reply control element is information from server to client in response to a request. An event control element contains information about the progress of performance in response to a request. Finally, an error control element contains error information about performance of a previous request, about status of the server, or status of the delivery of the control element.
It is an objective of this invention to provide better and simpler delivery support for enqueuing and dequeuing these control elements in delivery pipes between entities in the system.